package com.yxw.yxnet_cd_center.customer_service.service;

import com.yxw.yxnet_cd_center.common.dto.PageVO;
import com.yxw.yxnet_cd_center.customer_service.dto.CprDTO;
import com.yxw.yxnet_cd_center.customer_service.dto.CprQueryDTO;
import com.yxw.yxnet_cd_center.customer_service.vo.CprVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 常见问题管理Service接口
 *
 * @author xiexuxin
 * @date 2023-09-17
 */
public interface ICprService {

    /**
     * 添加问题
     * @param cprDTO
     */
    void addCpr(CprDTO cprDTO);

    /**
     * 根据Id删除问题
     * @param problemLibId
     */
    void deleteCprById(Long problemLibId);

    /**
     * 根据Id批量删除问题
     *
     * @param problemLibIds 需要删除的数据主键集合
     * @return 结果
     */
    void deleteCprByIds(@Param("problemLibIds") List<Long> problemLibIds);

    /**
     * 编辑问题
     * @param cprDTO
     */
    void updateCpr(Long problemLibId, CprDTO cprDTO);

//    /**
//     * 统计匹配名称查到匹配ID的岗位数量，用于修改数据时判断名称是否被占用
//     *
//     * @param postId   岗位ID
//     * @param postName 岗位名称
//     * @return 匹配的岗位的数量
//     */
//    int countByNameAndNotId(Long postId, String postName);

    /**
     * 根据id查询岗位数据详情
     * @param problemLibId
     * @return
     */
    CprVO selectCprById(Long problemLibId);

    /**
     * 问题列表条件查询
     * @param cprQueryDTO
     * @return
     */
    PageVO<CprVO> getCprList(CprQueryDTO cprQueryDTO);

    /**
     * 查询问题列表
     * @return
     */
    PageVO<CprVO> cprList();

    /**
     * 查询问题列表
     * @return
     */
    List<CprVO> cprList(String replyDes);
}
